Project-specific Parser Options

In the Project Editor click anywhere in the Project Tree and choose Context menu > Select from All Projects. Then choose Project > Attributes of Checkmarked Projects.

- Under Build Options select the Directives node.
The Preprocessor Directive(s) field is available in this view. This field was originally designed for entering preprocessing directives for C/C++ projects. Limited capabilities of the C/C++ preprocessor is available in the Ada Parser (see -D options below). Also, this field can be used to set project-specific parser options. Any of these options affects only the project for which is set.

| Note
| The Preprocessor Directive(s) field (containing parser options) is always evaluated, regardless of whether Preprocess before Source Code Parsing checkbox (located in the Parser node) is selected or not.

Available options:

-e
Log (syntax) errors in SNiFF+'s Log Window. It is recommended that this option is always set.
-nf
Ignore forward declarations.
When both forward declaration and complete declaration is found, both is displayed in the Symbol Browser. Setting this option, only the complete declaration will be shown. If the complete declaration can not be found, the forward declaration will be displayed, regardless of this option.
-83
Ada 83 mode. In this mode, the Ada Parser does not recognize Ada95-specific keywords as keywords, but treats them as identifiers. Using this option, you can parse Ada83 code, which contain Ada95 reserved words as identifiers (in the default Ada95 mode, it would be treated as syntax error). The keywords appearing only in Ada95 but not in Ada83 are:
ABSTRACT
ALIASED
PROTECTED
REQUEUE
TAGGED
UNTIL
-b+ and -b-
With these options, you can override the default behavior of displaying nesting in the Hierarchy Browser (see explanation for SNIFFADA_NOBASE in Environment Variables section above). -b- forces nesting information hiding, while -b+ forces nesting information display.
-Dident
The Ada Parser recognizes and processes #ifdef , #ifndef , #else and #endif C preprocessor directives. For correct preprocessing, symbolic names (macros) must be defined. -D directives specified here will be passed to the parser's preprocessor. Multiple -D directives are allowed. #ifdef nesting in the source code is allowed up to the nesting depth of 20.
To set the -e option:

- enter -e in the Preprocessor Directive(s) field.
- Select the checkbox right to the field.
- Press the Set for All button.
- Press Ok.

A dialog asking to update the makefiles appears. We will do this later so press No.

Save the whole project in the Launch Pad.